//package com.health.adapter;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.HashMap;
//import java.util.List;
//
//import com.health.R;
//import com.health.tablebean.BD_DD_INFO;
//
//import android.annotation.SuppressLint;
//import android.content.Context;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.BaseAdapter;
//import android.widget.CheckBox;
//import android.widget.CompoundButton;
//import android.widget.EditText;
//import android.widget.TextView;
//
///**
// * 修改bug之前的CheckBoxAdapter
// * 
// * @author 鹿云龙
// */
//public class CheckBoxAdapter3 extends BaseAdapter {
//
//	private List<BD_DD_INFO> list;
//	private List<CheckViewHolder> holderList;
//	private BD_DD_INFO tempGridViewItem;
//	private LayoutInflater layoutInflater;
//	private EditText editText;
//	private HashMap<Integer, CheckViewHolder> checkMap;
//	public CheckBox checkBox;
//	/**
//	 * 设置选中的CheckBox
//	 */
//	private List<BD_DD_INFO> checkedList;
//	private List<String> checkedCodeList;
//	private int mtextSize;
//	private int mtextColor;
//	private boolean textsizech;
//	private boolean textcolorch;
//
//	private boolean danxuan = false;
//
//	private String[] visOther = new String[] { "未发现", "其他", "减体重", "建议接种疫苗" };
//	private String[] invisOther = new String[] { "未见异常", "无症状", "未发现" };
//
//	private boolean contains(String[] valueArr, String targetValue) {
//		return Arrays.asList(valueArr).contains(targetValue);
//	}
//
//	/**
//	 * 在布局初始化时会创建多个第一个position= 0的CheckViewHolder对象,
//	 * 如果只对单个对象进行操作会导致操作无效，所以把所有产生的position= 0的对象放到一个list中，操作时修改list中所有对象
//	 */
//	boolean ballLoad;// 加载完所有的CheckBox
//
//	public void danxuan(boolean dx) {
//		danxuan = dx;
//	}
//
//	public void clear() {
//		Object[] keys = checkMap.keySet().toArray();
//		if (keys.length != 0) {
//			for (int i = 0; i < checkMap.size(); i++) {
//				CheckViewHolder cvh = (CheckViewHolder) checkMap.get((int) keys[i]);
//				cvh.cbIamge.setChecked(false);
//			}
//		}
//		this.notifyDataSetChanged();
//	}
//
//	@SuppressLint("UseSparseArrays")
//	public CheckBoxAdapter3(Context context, List<BD_DD_INFO> list, EditText edittext) {
//		this.list = list;
//		layoutInflater = LayoutInflater.from(context);
//		checkMap = new HashMap<Integer, CheckViewHolder>();
//		holderList = new ArrayList<>();
//		this.editText = edittext;
//		editText.setText("");
//		editText.setEnabled(false);
//		editText.setFocusable(false);
//		editText.setFocusableInTouchMode(false);
//		editText.setClickable(false);
//	}
//
//	@SuppressLint("UseSparseArrays")
//	public CheckBoxAdapter3(Context context, List<BD_DD_INFO> list) {
//		this.list = list;
//		layoutInflater = LayoutInflater.from(context);
//		checkMap = new HashMap<Integer, CheckViewHolder>();
//		holderList = new ArrayList<>();
//	}
//
//	public void setCheckedCodeList(List<String> checkedCodeList) {
//		this.checkedCodeList = checkedCodeList;
//		notifyDataSetChanged();
//	}
//
//	/**
//	 * 数据总数
//	 */
//	@Override
//	public int getCount() {
//		return list.size();
//	}
//
//	/**
//	 * 获取当前数据
//	 */
//	@Override
//	public Object getItem(int position) {
//		return list.get(position);
//	}
//
//	@Override
//	public long getItemId(int position) {
//		return position;
//	}
//
//	@SuppressLint("ViewHolder")
//	@Override
//	public View getView(final int position, View convertView, ViewGroup parent) {
//		View view;
//		Log.i("ttttt", position + "");
//		view = layoutInflater.inflate(R.layout.checkboxitem, null);
//		Log.i("ttttt", parent.getChildCount() + "    " + position);
//		if (parent.getChildCount() == position) {
//			try {
//				if (layoutInflater != null) {
//					CheckBox cb = (CheckBox) view.findViewById(R.id.checkBox);
//					EditText et = (EditText) view.findViewById(R.id.othertext);
//					// 获取自定义的类实例
//					tempGridViewItem = list.get(position);
//					CheckViewHolder avh = new CheckViewHolder();
//					avh.cbIamge = cb;
//					avh.choseView = view;
//					avh.otherText = et;// 输出查看text
//					avh.weight1 = (TextView)view.findViewById(R.id.weight1);
//
//					avh.weight2 = (TextView)view.findViewById(R.id.weight2);
//					avh.dd_info = tempGridViewItem;
//					if (textsizech)
//						avh.cbIamge.setTextSize(mtextSize);
//					if (textcolorch)
//						avh.cbIamge.setTextColor(mtextColor);
//
//					cb.setOnCheckedChangeListener(new OnCheckedChangeListenerImpl(avh, position));
//
//					cb.setFocusable(false);
//					cb.setText(tempGridViewItem.getDATAINFO());
//
//					if (checkedList != null && checkedList.size() > 0) {
//						for (BD_DD_INFO info : checkedList) {
//							if (avh.cbIamge.getText().toString().equals(info.getDATAINFO())) {
//								avh.cbIamge.setChecked(true);
//							}
//						}
//					}
//
//					if (checkedCodeList != null && checkedCodeList.size() > 0) {
//						for (String str : checkedCodeList) {
//							if (avh.cbIamge.getText().toString().equals(getNameByCode(str))) {
//								avh.cbIamge.setChecked(true);
//							}
//						}
//					}
//
//					if (checkMap.size() == list.size()) {
//						ballLoad = true;
//					}
//					Log.i("ttttt", this + "  " + avh.cbIamge.getText().toString());
//
//					checkMap.put(position, avh);
//					holderList.add(avh);
//					setChecked(chekedsStr);
//				}
//			} catch (Exception e) {
//				e.printStackTrace();
//			}
//		}
//		return view;
//	}
//
//	final class CheckViewHolder {
//		CheckBox cbIamge;
//		View choseView;
//		EditText otherText;
//		BD_DD_INFO dd_info;
//		TextView weight1;
//		TextView weight2;
//	}
//
//	private String getNameByCode(String code) {
//		for (BD_DD_INFO info : list) {
//			if (code.equals(info.getID())) {
//				return info.getDATAINFO();
//			}
//		}
//		return null;
//	}
//
//	private String chekedsStr;
//
//	/**
//	 * 设置选中项
//	 * 
//	 * @param checkeds
//	 *            选中对象的id,以英文逗号分隔(例："DM_001,DM_002,DM_003...")
//	 * @author 鹿云龙
//	 * @date 2015年12月21日 上午9:36:49
//	 */
//	public void setChecked(String checkeds) {
//		if (ballLoad) {
//			return;
//		}
//		chekedsStr = checkeds;
//		if (checkeds == null || checkeds.equals("")) {
//			return;
//		}
//		if (checkMap.size() == 0) {
//			for (int i = 0; i < holderList.size(); i++) {
//				checkMap.put(i, holderList.get(i));
//			}
//		}
//		String[] cks = checkeds.split(",");
//		Object[] keys = checkMap.keySet().toArray();
//		for (int i = 0; i < checkMap.size(); i++) {
//			CheckViewHolder cvh = (CheckViewHolder) checkMap.get((int) keys[i]);
//			for (String ck : cks) {
//				if (ck.equals("DM01-25_6")) {
//					System.out.println("");
//				}
//				if (cvh.dd_info.getID().equals(ck)) {
//					if (cvh.dd_info.getDATAINFO().contains("未发现")) {
//						setWuZhengZhuangChecked(true);
//					}
//					Log.i("ttttt", cvh.dd_info.getID() + " length: " + checkMap.size());
//
//					cvh.cbIamge.setChecked(true);
//					if (cvh.dd_info.getDATAINFO().equals("其他")) {
//						cvh.otherText.setVisibility(View.VISIBLE);
//						cvh.otherText.setText(m_other);
//					}
//					if (cvh.dd_info.getDATAINFO().equals("12其他")) {
//						cvh.otherText.setVisibility(View.VISIBLE);
//						cvh.otherText.setText(m_other);
//					}
//
//					if (cvh.dd_info.getDATAINFO().equals("10其他")) {
//						cvh.otherText.setVisibility(View.VISIBLE);
//						cvh.otherText.setText(m_other);
//					}
//					if (cvh.dd_info.getDATAINFO().equals("减体重")) {
//						cvh.otherText.setVisibility(View.VISIBLE);
//						cvh.otherText.setText(mAIM);
//					}
//					if (cvh.dd_info.getDATAINFO().equals("建议接种疫苗")) {
//						cvh.otherText.setVisibility(View.VISIBLE);
//						cvh.otherText.setText(mADVICE);
//					}
//				}
//			}
//		}
//
//	}
//
//	/**
//	 * size The scaled pixel size.
//	 * 
//	 * @param size
//	 * @author 鹿云龙
//	 * @date 2015年12月18日 下午2:36:29
//	 */
//	public void setTextSize(int textSize) {
//		this.mtextSize = textSize;
//		textsizech = true;
//	}
//
//	/**
//	 * Sets the text color.
//	 * 
//	 * @param colors
//	 * @author 鹿云龙
//	 * @date 2015年12月18日 下午2:36:36
//	 */
//	public void setTextColor(int textColors) {
//		this.mtextColor = textColors;
//		textcolorch = true;
//	}
//
//	/**
//	 * 获取选中对象的SORT
//	 * 
//	 * @return
//	 * @author 鹿云龙
//	 * @date 2015年12月17日 上午11:16:44
//	 */
//	public ArrayList<String> getCheckedIds() {
//		ArrayList<String> str = new ArrayList<String>();
//		// checkBD_DD_INFOs.clear();
//		Object[] keys = checkMap.keySet().toArray();
//		for (int i = 0; i < checkMap.size(); i++) {
//			CheckViewHolder cvh = (CheckViewHolder) checkMap.get((int) keys[i]);
//			str.add(cvh.dd_info.getID());
//
//		}
//		return str;
//	}
//
//	/**
//	 * 获取选中对象的id ,使用英文逗号隔开
//	 * 
//	 * @return 1,2,3...
//	 * @author 鹿云龙
//	 * @date 2015年12月17日 上午11:16:44
//	 */
//	public String getCheckedIdsStr() {
//		String str = "";
//		Object[] keys = checkMap.keySet().toArray();
//		if (keys.length != 0) {
//			for (int i = 0; i < checkMap.size(); i++) {
//				CheckViewHolder cvh = (CheckViewHolder) checkMap.get((int) keys[i]);
//
//				if (cvh.cbIamge.isChecked()) {
//					str += cvh.dd_info.getID() + ",";
//				}
//			}
//			if (str.length() != 0) {
//				str = str.substring(0, str.length() - 1);
//			}
//		}
//		return str;
//	}
//
//	/**
//	 * 获取选中的BD_DD_INFO对象
//	 * 
//	 * @return
//	 * @author 鹿云龙
//	 * @date 2015年12月17日 上午11:16:53
//	 */
//	public ArrayList<BD_DD_INFO> getCheckedBD_DD_INFO() {
//		ArrayList<BD_DD_INFO> arr = new ArrayList<BD_DD_INFO>();
//		Object[] keys = checkMap.keySet().toArray();
//		for (int i = 0; i < checkMap.size(); i++) {
//			CheckViewHolder cvh = (CheckViewHolder) checkMap.get((int) keys[i]);
//			if (cvh.cbIamge.isChecked()) {
//				arr.add(cvh.dd_info);
//			}
//		}
//		return arr;
//	}
//
//	boolean wuzhengzhuangIsChecked;
//
//	public void setWuZhengZhuangChecked(boolean checked) {
//		this.wuzhengzhuangIsChecked = checked;
//	}
//
//	private String m_other;
//	private String mAIM;// 减体重
//	private String mADVICE;// 建议接种疫苗
//
//	public void setAIM(String aim) {
//		mAIM = aim;
//	}
//
//	public void setADVICE(String advice) {
//		mADVICE = advice;
//	}
//
//	/**
//	 * 设置其他数据
//	 * 
//	 * @param other
//	 * @author 鹿云龙
//	 * @date 2015年12月21日 下午2:02:32
//	 */
//	public void setOther(String other) {
//		this.m_other = other;
//	}
//
//	/**
//	 * 获取其他数据
//	 * 
//	 * @return
//	 * @author 鹿云龙
//	 * @date 2015年12月21日 上午9:25:41
//	 */
//	public String getOther() {
//		String other = "";
//		try {
//			if (editText != null) {
//				return editText.getText().toString();
//			}
//			Object[] keys = checkMap.keySet().toArray();
//			int[] n = new int[keys.length];
//			for (int i = 0; i < keys.length; i++) {
//				n[i] = (int) keys[i];
//			}
//			for (int key : n) {
//				CheckViewHolder cvh = ((CheckViewHolder) checkMap.get(key));
//				String str = cvh.cbIamge.getText().toString();
//				if (str.equals("其他") || str.equals("12其他") || str.equals("10其他")) {
//					System.out.println(str);
//					other = cvh.otherText.getText().toString();
//				}
//			}
//			return other;
//		} catch (Exception e) {
//			e.printStackTrace();
//			return "";
//		}
//	}
//
//	/**
//	 * 获取建议接种疫苗其他数据
//	 * 
//	 * @return
//	 * @author 鹿云龙
//	 * @date 2015年12月21日 上午9:25:41
//	 */
//	public String getADVICE() {
//		String other = "";
//		try {
//			Object[] keys = checkMap.keySet().toArray();
//			int[] n = new int[keys.length];
//			for (int i = 0; i < keys.length; i++) {
//				n[i] = (int) keys[i];
//			}
//			for (int key : n) {
//				CheckViewHolder cvh = ((CheckViewHolder) checkMap.get(key));
//				String str = cvh.cbIamge.getText().toString();
//				if (str.equals("建议接种疫苗")) {
//					System.out.println(str);
//					other = cvh.otherText.getText().toString();
//				}
//			}
//			return other;
//		} catch (Exception e) {
//			e.printStackTrace();
//			return "";
//		}
//	}
//
//	/**
//	 * 获取减体重其他数据
//	 * 
//	 * @return
//	 * @author 鹿云龙
//	 * @date 2015年12月21日 上午9:25:41
//	 */
//	public String getAIM() {
//		String other = "";
//		try {
//			Object[] keys = checkMap.keySet().toArray();
//			int[] n = new int[keys.length];
//			for (int i = 0; i < keys.length; i++) {
//				n[i] = (int) keys[i];
//			}
//			for (int key : n) {
//				CheckViewHolder cvh = ((CheckViewHolder) checkMap.get(key));
//				String str = cvh.cbIamge.getText().toString();
//				if (str.equals("减体重")) {
//					System.out.println(str);
//					other = cvh.otherText.getText().toString();
//				}
//			}
//			return other;
//		} catch (Exception e) {
//			e.printStackTrace();
//			return "";
//		}
//	}
//
//	class OnCheckedChangeListenerImpl implements CompoundButton.OnCheckedChangeListener {
//		CheckViewHolder holder;
//		int position;
//
//		public OnCheckedChangeListenerImpl(CheckViewHolder holder, int position) {
//			super();
//			this.holder = holder;
//			this.position = position;
//		}
//
//		@Override
//		public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//			try {
//				Object[] keys = checkMap.keySet().toArray();
//				CheckViewHolder cvh = ((CheckViewHolder) checkMap.get(position));
//				String checkboxtext = cvh.cbIamge.getText().toString();
//				System.out.println(checkboxtext);
//				if (danxuan) {// 单选
//					if (!isChecked && checkboxtext.equals("其他") || !isChecked && checkboxtext.equals("12其他")
//							|| !isChecked && checkboxtext.equals("10其他")) {
//						editText.setText("");
//						editText.setEnabled(false);
//						editText.setFocusable(false);
//						editText.setFocusableInTouchMode(false);
//						editText.setClickable(false);
//					}
//					if (isChecked) {
//						editText.setText("");
//						editText.setEnabled(false);
//						editText.setFocusable(false);
//						editText.setFocusableInTouchMode(false);
//						editText.setClickable(false);
//						if (editText != null) {
//							if (checkboxtext.equals("其他") || checkboxtext.equals("12其他")
//									|| checkboxtext.equals("10其他")) {
//								editText.setText("");
//								editText.setVisibility(View.VISIBLE);
//								editText.setEnabled(true);
//								editText.setFocusable(true);
//								editText.setFocusableInTouchMode(true);
//								editText.setClickable(true);
//							} else {
//								editText.setText("");
//								editText.setEnabled(false);
//								editText.setFocusable(false);
//								editText.setFocusableInTouchMode(false);
//								editText.setClickable(false);
//							}
//						}
//						for (int i = 0; i < checkMap.size(); i++) {
//							if (checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("未见异常")
//									|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("1 无症状")
//									|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("无症状")
//									|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("未发现")) {
//							} else {
//								if (!checkboxtext
//										.equals(((CheckViewHolder) checkMap.get((int) keys[i])).cbIamge.getText())) {
//									((CheckViewHolder) checkMap.get((int) keys[i])).cbIamge.setChecked(false);
//									CheckBox cb = ((CheckViewHolder) checkMap.get((int) keys[i])).cbIamge;
//									System.out.println(cb);
//								}
//							}
//						}
//					}
//					return;
//				}
//
//				if (checkboxtext.equals("未见异常") || checkboxtext.equals("1 无症状") || checkboxtext.equals("无症状")
//						|| checkboxtext.equals("未发现") || checkboxtext.equals("无")) {
//					if (isChecked) {
//						wuzhengzhuangIsChecked = true;
//					} else if (!isChecked) {
//						wuzhengzhuangIsChecked = false;
//					} else if (wuzhengzhuangIsChecked) {
//						holder.cbIamge.setChecked(false);
//					}
//				}
//				if (wuzhengzhuangIsChecked) {
//					for (int i = 0; i < checkMap.size(); i++) {
//						if (checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("未见异常")
//								|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("1 无症状")
//								|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("无症状")
//								|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().contains("未发现")) {
//						} else {
//							((CheckViewHolder) checkMap.get((int) keys[i])).cbIamge.setChecked(false);
//							checkMap.get((int) keys[i]).otherText
//									.setText(checkMap.get((int) keys[i]).dd_info.getDATAINFO());
//							if (checkMap.get((int) keys[i]).dd_info.getDATAINFO().equals("其他")
//									|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().equals("12其他")
//									|| checkMap.get((int) keys[i]).dd_info.getDATAINFO().equals("10其他")) {
//
//								checkMap.get((int) keys[i]).otherText.setText("");
//								checkMap.get((int) keys[i]).otherText.setEnabled(false);
//								checkMap.get((int) keys[i]).otherText.setFocusable(false);
//								checkMap.get((int) keys[i]).otherText.setFocusableInTouchMode(false);
//							}
//						}
//					}
//				} else {
//					holder.cbIamge.setChecked(isChecked);
//				}
//
//				if (checkboxtext.equals("10其他") || checkboxtext.equals("12其他") || checkboxtext.equals("其他")
//						|| checkboxtext.equals("减体重") || checkboxtext.equals("建议接种疫苗")) {
//					if (!wuzhengzhuangIsChecked) {
//						if (isChecked) {
//							cvh.otherText.setVisibility(View.VISIBLE);
//							cvh.otherText.setEnabled(true);
//							cvh.otherText.setFocusable(true);
//							cvh.otherText.setFocusableInTouchMode(true);
//						} else {
//							cvh.otherText.setText("");
//							cvh.otherText.setFocusable(false);
//							cvh.otherText.setFocusableInTouchMode(false);
//						}
//						if (editText != null) {
//							if (isChecked) {
//								cvh.otherText.setVisibility(View.VISIBLE);
//								cvh.otherText.setEnabled(true);
//								editText.setFocusable(true);
//								editText.setFocusableInTouchMode(true);
//							} else {
//								editText.setFocusable(false);
//								editText.setFocusableInTouchMode(false);
//							}
//						}
//					}
//				}
//
//				if (checkboxtext.equals("减体重")) {
//					if (!wuzhengzhuangIsChecked) {
//						if (isChecked) {
//							cvh.otherText.setVisibility(View.VISIBLE);
//							cvh.otherText.setEnabled(true);
//							cvh.otherText.setFocusable(true);
//							cvh.otherText.setFocusableInTouchMode(true);
//						} else {
//							cvh.otherText.setText("");
//							cvh.otherText.setFocusable(false);
//							cvh.otherText.setFocusableInTouchMode(false);
//						}
//						if (editText != null) {
//							if (isChecked) {
//								cvh.otherText.setVisibility(View.VISIBLE);
//								cvh.otherText.setEnabled(true);
//								editText.setFocusable(true);
//								editText.setFocusableInTouchMode(true);
//							} else {
//								editText.setFocusable(false);
//								editText.setFocusableInTouchMode(false);
//							}
//						}
//					}
//				}
//				if ("6.其他".equals(checkboxtext) && editText != null) {
//
//					if (isChecked) {
//						cvh.otherText.setVisibility(View.VISIBLE);
//						cvh.otherText.setEnabled(true);
//						editText.setFocusable(true);
//						editText.setFocusableInTouchMode(true);
//					} else {
//						editText.setFocusable(false);
//						editText.setFocusableInTouchMode(false);
//					}
//				}
//
//			} catch (Exception e) {
//				e.printStackTrace();
//			}
//		}
//	}
//}